所有命令均在 root 模式下执行
关闭podman容器
如果有podman容器,先卸载掉podman 因为和docker冲突了(虽然说k8s抛弃docker后面都是开始使用podman)
关闭交换区
swapoff -a #临时关闭 sed -i 's/.*swap.*/#&/' /etc/fstab #永久关闭交换区
|
禁用selinux
setenforce 0 #临时关闭 sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config #永久关闭
|
关闭防火墙
systemctl stop firewalld.service systemctl disable firewalld.service
|
安装系统基本源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
|
添加K8S安装源
新建 /etc/yum.repos.d/kubernetes.repo 内容如下
[kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
|
安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2 net-tools yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum -y install docker-ce
|
顺手来个docker加速
mkdir -p /etc/docker && vim /etc/docker/daemon.json { "registry-mirrors" : ["https://mj9kvemk.mirror.aliyuncs.com"] }
|
“registry-mirrors” 这个网址可以从阿里云上找个容器加速网址copy上去 也可以用自己的加速网址不需要按照原文来都可以
反手来个驱动修改
(后续初始化K8S的要求)
vim /usr/lib/systemd/system/docker.service 在ExecStart命令中添加 --exec-opt native.cgroupdriver=systemd
|
:wq 保存后重启一下docker
systemctl daemon-reload systemctl restart docker 可以查看当前驱动是否为 systemd docker info | grep Cgroup
|
安装kubectl/kubelet/kubeadm
安装默认都是当前最高版本
温馨提醒:如果后续要装其它诸如Dashboard可视化页面等在版本上务必先确认是否兼容 避免卸载重装 在做一次配置等重复的无用功!
yum install -y kubectl kubelet kubeadm systemctl enable kubelet systemctl start kubelet
|
查看当前安装的版本号
kubeadm version kubectl version --client kubelet --version
|
初始化K8S
kubernetes-version为当前安装的版本号
kubeadm init --apiserver-advertise-address=0.0.0.0 \ --apiserver-cert-extra-sans=127.0.0.1 \ --image-repository=registry.aliyuncs.com/google_containers \ --ignore-preflight-errors=all \ --kubernetes-version=v1.20.1 \ --service-cidr=10.10.0.0/16 \ --pod-network-cidr=10.18.0.0/16
|
如果有报错,根据报错查阅 www.baidu.com 即可
拷贝一下K8S配置
方便后续的使用
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
|
安装calico网络(通讯)
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
|
命令执行完后部署就结束了,用kubectl等命令验证